浏览器脚本教程 > JavaScript 参考手册 > HTML DOM Attribute 对象

HTML DOM Attribute 对象

HTML DOM 节点

在 HTML DOM (文档对象模型)中,每个部分都是节点:

  • 文档本身是文档节点
  • 所有 HTML 元素是元素节点
  • 所有 HTML 属性是属性节点
  • HTML 元素内的文本是文本节点
  • 注释是注释节点

Attr 对象

在 HTML DOM 中,Attr 对象表示 HTML 属性。

HTML 属性始终属于 HTML 元素。

NamedNodeMap 对象

在 HTML DOM 中,NamedNodeMap 对象表示元素属性节点的无序集合。

NamedNodeMap 中的节点可通过名称或索引(数字)来访问。

浏览器支持

IE Firefox Chrome Safari Opera

所有浏览器都支持 Attr 对象和 NamedNodeMap 对象。

属性和方法

属性 / 方法 描述
attr.isId 如果属性是 id 类型,则返回 true,否则返回 false。
attr.name 返回属性的名称。
attr.value 设置或返回属性的值。
attr.specified 如果已指定属性,则返回 true,否则返回 false。
nodemap.getNamedItem() 从 NamedNodeMap 返回指定的属性节点。
nodemap.item() 返回 NamedNodeMap 中位于指定下标的节点。
nodemap.length 返回 NamedNodeMap 中的节点数。
nodemap.removeNamedItem() 移除指定的属性节点。
nodemap.setNamedItem() 设置指定的属性节点(通过名称)。

DOM 4 警告!

在 W3C DOM Core 中,Attr (attribute) 对象从 Node 对象继承所有属性和方法。

在 DOM 4 中,Attr 对象不再从 Node 继承。

为了保证未来的代码安全,您应该避免在属性对象上使用节点对象的属性和方法:

属性 / 方法 避免的理由
attr.appendChild() 属性没有子节点。
attr.attributes 属性没有属性。
attr.baseURI 使用 document.baseURI 代替。
attr.childNodes 属性没有子节点。
attr.cloneNode() 使用 attr.value 代替。
attr.firstChild 属性没有子节点。
attr.hasAttributes() 属性没有属性。
attr.hasChildNodes 属性没有子节点。
attr.insertBefore() 属性没有子节点。
attr.isEqualNode() 没有意义。
attr.isSameNode() 没有意义。
attr.isSupported() 始终为 true。
attr.lastChild 属性没有子节点。
attr.nextSibling 属性没有同级节点。
attr.nodeName 使用 attr.name 代替。
attr.nodeType 始终为 2 (ATTRIBUTE_NODE)。
attr.nodeValue 使用 attr.value 代替。
attr.normalize() 属性无法被正常化。
attr.ownerDocument 始终是您的 HTML 文档。
attr.ownerElement 这是您用来访问该属性的 HTML 元素。
attr.parentNode 这是您用来访问该属性的 HTML 元素。
attr.previousSibling 属性没有同级节点。
attr.removeChild 属性没有子节点。
attr.replaceChild 属性没有子节点。
attr.textContent 使用 attr.value 代替。
参考手册

W3c0.com 提供的内容仅用于培训。我们不保证内容的正确性。通过使用本站内容随之而来的风险与本站无关。W3c0 简体中文版的所有内容仅供测试,对任何法律问题及风险不承担任何责任。 当使用本站时,代表您已接受了本站的使用条款和隐私条款。版权所有,保留一切权利。 鲁ICP备15022115号